Page({
    data: {
      identities: ['失主', '拾主'], // 身份选项
      identity: '失主', // 默认身份
      goodsName: '', // 物品名称
      goodsType: '', // 物品类型
      goodsDesc: '', // 物品描述
      lostPlace: '', // 丢失地点
      lostTime: '', // 丢失时间
      imageUrl: '', // 物品图片链接
      phone: '' // 联系电话
    },
    // 返回上一页
    goBack() {
      wx.navigateBack();
    },
    // 选择身份
    bindIdentityChange(e) {
      const index = e.detail.value;
      this.setData({
        identity: this.data.identities[index]
      });
    },
    // 输入物品名称
    inputGoodsName(e) {
      this.setData({
        goodsName: e.detail.value
      });
    },
    // 输入物品类型
    inputGoodsType(e) {
      this.setData({
        goodsType: e.detail.value
      });
    },
    // 输入物品描述
    inputGoodsDesc(e) {
      this.setData({
        goodsDesc: e.detail.value
      });
    },
    // 输入丢失地点
    inputLostPlace(e) {
      this.setData({
        lostPlace: e.detail.value
      });
    },
    // 选择位置（调用微信位置选择API）
    chooseLocation() {
      wx.chooseLocation({
        success: (res) => {
          this.setData({
            lostPlace: res.name || res.address
          });
        }
      });
    },
    // 输入丢失时间
    inputLostTime(e) {
      this.setData({
        lostTime: e.detail.value
      });
    },
    // 选择日期（调用微信日期选择API）
    chooseDate() {
      wx.datePicker({
        success: (res) => {
          this.setData({
            lostTime: res.date
          });
        }
      });
    },
    // 选择图片（调用微信图片选择API）
    chooseImage() {
      wx.chooseImage({
        count: 1,
        sizeType: ['original', 'compressed'],
        sourceType: ['album', 'camera'],
        success: (res) => {
          const tempFilePaths = res.tempFilePaths;
          this.setData({
            imageUrl: tempFilePaths[0]
          });
          // 可在此处将图片上传到服务器，获取永久链接
          // 示例：上传图片逻辑（需后端配合）
          wx.uploadFile({
            url: 'https://your-server.com/upload', // 后端上传接口
            filePath: tempFilePaths[0],
            name: 'file',
            success: (uploadRes) => {
              const data = JSON.parse(uploadRes.data);
              this.setData({
                imageUrl: data.url // 服务器返回的图片永久链接
              });
            }
          });
        }
      });
    },
    // 输入联系电话
    inputPhone(e) {
      this.setData({
        phone: e.detail.value
      });
    },
    // 发布信息
    publish() {
      // 校验表单数据
      if (!this.data.goodsName) {
        wx.showToast({
          title: '请输入物品名称',
          icon: 'none'
        });
        return;
      }
      if (!this.data.goodsType) {
        wx.showToast({
          title: '请输入物品类型',
          icon: 'none'
        });
        return;
      }
      if (!this.data.goodsDesc) {
        wx.showToast({
          title: '请输入物品描述',
          icon: 'none'
        });
        return;
      }
      if (!this.data.lostPlace) {
        wx.showToast({
          title: '请输入丢失地点',
          icon: 'none'
        });
        return;
      }
      if (!this.data.lostTime) {
        wx.showToast({
          title: '请输入丢失时间',
          icon: 'none'
        });
        return;
      }
      if (!this.data.phone) {
        wx.showToast({
          title: '请输入联系电话',
          icon: 'none'
        });
        return;
      }
      // 表单校验通过，调用后端接口发布信息
      wx.request({
        url: 'https://your-server.com/publish', // 后端发布接口
        method: 'POST',
        data: {
          identity: this.data.identity,
          goodsName: this.data.goodsName,
          goodsType: this.data.goodsType,
          goodsDesc: this.data.goodsDesc,
          lostPlace: this.data.lostPlace,
          lostTime: this.data.lostTime,
          imageUrl: this.data.imageUrl,
          phone: this.data.phone
        },
        success: (res) => {
          if (res.data.code === 0) {
            wx.showToast({
              title: '发布成功',
              icon: 'success'
            });
            // 发布成功后返回上一页
            setTimeout(() => {
              wx.navigateBack();
            }, 1500);
          } else {
            wx.showToast({
              title: res.data.msg || '发布失败',
              icon: 'none'
            });
          }
        },
        fail: () => {
          wx.showToast({
            title: '网络错误，发布失败',
            icon: 'none'
          });
        }
      });
    }
  });